#pragma once
#include <xpam/math/matrix.h>
#include <vector>

namespace xpam
{
    namespace math
    {
        template<class T>
        class pyramid
        {
            std::vector<xpam::math::matrix<T> > _levels;
        public:
            pyramid()
            {
            }

            void resize(unsigned int n)
            {
                _levels.resize(n);
            }

            xpam::math::matrix<T> & at(unsigned int i)
            {
                return _levels[i];
            }

            void propagate(unsigned int from, unsigned int to)
            {
                
            }
        };
    }
}